Option Explicit
'################################################################
' Descriptor
' Sql 中的表定义，只包含表名
' 包含的内容: 表 + 列 + condition
'################################################################

Implements ISqlTableDefine

'################################################################
' Field
'################################################################
Private tableName as String
Private columns as Collection

'################################################################
' Constructor
'################################################################
Private Sub Class_Initialize()
    Set columns = New Collection
End Sub

Private Sub Class_Terminate()
    Set columns = Nothing
End Sub

'################################################################
' Init
'################################################################
' @param tableNameVal
Public Sub Init(ByRef tableNameVal As String)
    tableName = tableNameVal
End Sub

'################################################################
' Implements ISqlTableDefine
'################################################################
' 获取表名
Public Function ISqlTableDefine_getTableName() As String
    ISqlTableDefine_getTableName = tableName
End Function

' 是否只使用了一个表
Public Function ISqlTableDefine_useSingleTable() As Boolean
    ISqlTableDefine_useSingleTable = False
End Function

' 检查是否使用表中的所有列
' Public Function ISqlTableDefine_useAllColumn() As Boolean
'     ISqlTableDefine_useAllColumn = True
' End Function

' 获取所有列对象
Public Function ISqlTableDefine_getColumns() As Collection
    'Set ISqlTableDefine_getColumns = columns
    ' TODO
    Set ISqlTableDefine_getColumns = Nothing
End Function

' 获取所有的筛选条件
Public Function ISqlTableDefine_getCondition() As Collection
    Set ISqlTableDefine_getCondition = Nothing
End Function

' 添加筛选条件
Public Sub ISqlTableDefine_addCondition(ByRef condition As SqlCondition)
    ' Noop
End Sub